using System;
using System.Collections.Generic;
using System.Text;
using Unitins.Component.PersistenceLayer;
using Unitins.Component.ComponentMaster;

namespace Unitins.Component.Repository.Sepsi
{
    [Serializable]
    public class Motivo : IObject<Motivo>
    {
        #region Fields

        private Int64 idMotivo;
        private Int64 idPaciente;
        private String problema;
        private String descricao;

        #endregion Fields

        #region Properties

        public Int64 IdMotivo
        {
            get { return idMotivo; }
            set { idMotivo = value; }
        }

        public Int64 IdPaciente
        {
            get { return idPaciente; }
            set { idPaciente = value; }
        }

        public String Problema
        {
            get { return problema; }
            set { problema = value; }
        }

        public String Descricao
        {
            get { return descricao; }
            set { descricao = value; }
        }

        #endregion Properties

        #region Constructor

        public Motivo()
        {
        }

        public Motivo(Int64 idMotivo, Int64 idPaciente, String problema, String descricao)
        {
            this.IdMotivo = idMotivo;
            this.IdPaciente = idPaciente;
            this.Problema = problema;
            this.Descricao = descricao;
        }

        #endregion Constructors

        #region Methods Overrides

        public String GetToString()
        {
            return
            (
                "{IdMotivo : " + this.IdMotivo + "} " + Environment.NewLine +
                "{IdPaciente : " + this.IdPaciente + "} " + Environment.NewLine +
                "{Problema : " + this.Problema + "} " + Environment.NewLine +
                "{Descricao : " + this.Descricao + "} " + Environment.NewLine +
                ""
             );
        }

        public object Clone()
        {
            Motivo objMotivo = new Motivo();

            objMotivo.IdMotivo = this.IdMotivo;
            objMotivo.IdPaciente = this.IdPaciente;
            objMotivo.Problema = this.Problema;
            objMotivo.Descricao = this.Descricao;

            return objMotivo;
        }

        #endregion Methods Overrides

    }

    public enum MotivoAttribute
    {
        IdMotivo = 0,
        IdPaciente = 1,
        Problema = 2,
        Descricao = 3,
    }
}
